Jonas Dreßler [Sun, 12 May 2024 09:51:35 +0000 (11:51 +0200)]
overviewControls: Set expandFraction for ws thumbnails to 0 when hidden
We multiply the spacing around the workspace thumbnails with the
expandFraction so that it grows with the animation to show/hide them. We
shouldn't factor in the extra spacing to accomodate for the thumbnails in
case they're hidden though, so make sure expandFraction is set to 0 after
the thumbnails got hidden.
This fixes the spacing when a user never uses workspaces (and the workspace
thumbnails are never shown), and also the first transition from
hidden->shown for the thumbnails, which currently starts at 100% scale (ie.
pops into existence).
Jonas Dreßler [Tue, 16 Jan 2024 20:39:15 +0000 (21:39 +0100)]
overviewControls: Reduce spacing around the workspaces minimap
With a previous commit we've made the overall dynamic spacing dynamic, but
the spacing is now a bit much when it comes to the space between search and
workspaces minimap, just as workspaces minimap and large workspaces.
The minimap should somewhat "squeeze into the empty space" here, so
reduce the spacings above and below it a bit.
Jonas Dreßler [Tue, 21 Jun 2022 13:45:34 +0000 (15:45 +0200)]
overview: Make the spacing dynamic depending on screen height
The HTML/CSS sizing prototype that was done back in the day for GNOME 40 has
a dynamic spacing depending on the height of the monitor. Let's try to
follow that more closely and make the spacing dependent on screen height.
For the sizing prototype, see
https://gitlab.gnome.org/Teams/Design/os-mockups/-/tree/master/overview/sizing-prototype
This also allows removing of a bit of manually added spacing at the top of
the dash.
Jonas Dreßler [Fri, 10 May 2024 08:19:10 +0000 (10:19 +0200)]
overviewControls: Rename appGridBox to workspacesBox
The naming of the appGridBox is quite confusing, as it actually
describes the box of the workspaces strip, but in the appGrid state of
the overview. Change that name and call it workspacesBox instead, which
seems to make more sense here.
Florian Müllner [Thu, 2 May 2024 17:54:20 +0000 (19:54 +0200)]
style: Don't force symbolic notification icons
With the addition of notification headers, we no longer include
an icon with every notification, but only when the notification
explicitly specifies an icon (other than the app icon).
After those changes, it makes more sense to use the icon as
provided by the app than forcing the symbolic style (which
only works for themed icons anyway).
Florian Müllner [Wed, 8 May 2024 10:56:54 +0000 (12:56 +0200)]
st/icon: Add :is-symbolic property
It can be useful to know whether an icon displays a symbolic (rather
than just requesting it). Add a new :is-symbolic property for that
purpose, backed by private API on StImageContent that allows the
texture cache to shuffle that information through to the icon.
Florian Müllner [Thu, 9 May 2024 12:01:26 +0000 (14:01 +0200)]
unlockDialog: Bind source titles
After the recent notification changes, the title may still be null
when the source is originally added. Handle that case and make sure
we pick up later title changes by setting up a property binding.
Jonas Ådahl [Fri, 3 May 2024 14:01:48 +0000 (16:01 +0200)]
ci: Run tests with the timeout multiplier set to 5
Sometimes the test runners are saturated with other work. Bump the test
timeouts by a multiplier of 5 with the hope that they now will be much
more likely to have time to finish in time.
Florian Müllner [Thu, 2 May 2024 15:59:11 +0000 (17:59 +0200)]
ctrlAltTab: Ignore DOCK windows without app
The fallback path broke when we removed support for window icons.
Nowadays we track all windows, and as a result should always have an
associated app (although not necessarily backed by a .desktop file),
so this shouldn't make a difference in practice. Not to mention that
external docks (like cairo-dock) are extremely rare themselves now.
na-tray-child: Use absolute icon position as root event coordinates
Currently we're using relative positioning when sending click events to
tray icon clients, and this leads to some apps (especially Qt ones) to
try to open the menus at such absolute coordinate under X11.
To prevent this to happen, let's get the root coordinate from the xembed
and let's use it to compute the synthetic event root x/y.
We could have even used the actual event position for this, but getting
it from the xembed makes this more consistent.
Sebastian Keller [Sat, 27 Apr 2024 13:14:16 +0000 (15:14 +0200)]
js: Update for Gio/GioUnix split
GLib 2.79.2 split out the platform specific Gio APIs into a separate
GIRs, while still keeping a copy in the Gio GIR. gjs then added warnings
about the APIs being moved.
This bumps the Gio(Unix) version requirement to 2.79.2 and switches to
using the new GioUnix GIR.
shell/window-tracker: Update docs on chromium shortcuts
The format of the .desktop file names and their StartupWMClass of
Chromium and Chrome shortcuts has changed, so update the docs to match
the most recent versions of these web browsers.
The user interface to create shortcuts has also changed. They are no
longer created through a "Tools" menu (which doesn't exist anymore), but
rather through a "Save and share" menu. So add that to the docs as well.
Finally, replace the examples using the GNOME Wiki with examples using
the new GNOME Developer Handbook.
Since the time string uses a space to pad single-digit numbers, the
centered label looks off-center. Fix this by applying the trim()
function to get rid of whitespaces.
The drawback of this approach is that the label will change position
slightly when the time changes, but for the lockscreen that's okay.
workspaceAnimation: Do not create clones for override redirect windows
Override redirect windows manage their own positioning and size alone
and are always sticky, so we're not covering them either with the
animation MonitorsGroup, and thus there's no need to clone them or we'd
end up having two windows painted.
This was causing the shell tray icon window actors (that have no opacity
by default but that are override redirect) to show up during the
animation as their clone animation is not 0.
The other option would be hide them during the animation phase, but
there's no need for this.
Sebastian Keller [Thu, 25 Apr 2024 17:33:09 +0000 (19:33 +0200)]
portalHelper: Fix handling of invalid TLS certificates
WebKitGTK 6.0 moved allow_tls_certificate_for_host() from WebContext to
NetworkSession. This was not adjusted here when the portal helper was
switched from 4.0 to 6.0.
Florian Müllner [Tue, 19 Mar 2024 13:01:13 +0000 (14:01 +0100)]
altTab: Use more appropriate fallback icon
'icon-missing' is not an actual icon name. It somewhat works
because an invalid icon name will fallback to the correct
'image-missing', however for apps the generic app icon is
a better fallback.
Sebastian Wick [Tue, 16 Apr 2024 14:29:48 +0000 (16:29 +0200)]
shell-util: Only use systemd if gnome-shell is managed by systemd
Simply looking at the return value of sd_pid_get_user_unit can be used
to determine if the process is in a systemd unit, but it doesn't say if
gnome-shell is managed by systemd.
For example, running toolbx on a host with systemd creates a libpod
unit, even if the gnome-shell that gets started in the toolbx is itself
not managed by systemd.
We can make sure that gnome-shell is managed by systemd simply by
checking if the unit we're running starts with org.gnome.Shell.
Sebastian Wick [Tue, 2 Apr 2024 11:20:20 +0000 (13:20 +0200)]
st/clipboard: Pass non-NULL mimetype to SelectionSourceMemory
meta_selection_source_memory_new previously had some precondition checks
which would return NULL if the mimetype is NULL but now that it returns
an error we can't do that anymore.
Move the precondition checks to the caller instead.
The title is set from extension metadata, which isn't supposed to
contain markup. That means it may contain unescaped characters
like `&` that break the title when interpreted as markup.
Explicitly opt out of markup handling to fix this.
Robert Mader [Mon, 15 Apr 2024 18:13:40 +0000 (20:13 +0200)]
Revert "screencastService: Use 'screen' encoder profile for openH264"
Unfortunately it turned out that this change does increase frame skips
in the recorded files on several tested devices, greatly outweighing
any small visual benefit it might have.
Without this flag, changes resulting in invalid gschemas are ignored and
easily lost within the compilation input. In CI and some development
workflows this may let bad builds through.
Sebastian Keller [Fri, 15 Mar 2024 10:52:37 +0000 (11:52 +0100)]
keyboard: Specify anchor when deleting characters via timeout
6e80f858c dropped the second cursor argument used as anchor when calling
the delete function from the timeout. This was causing the early check
that was trying to detect when deleting from the beginning of the text
to fail, because anchor was now undefined.
Sebastian Keller [Wed, 13 Mar 2024 21:30:03 +0000 (22:30 +0100)]
magnifier: Stop using Clutter.StaticColor
This was removed from mutter in commit 72c2d8913. Instead of manually
creating a white color, we can just rely on ClutterTextureNode creating
one for us when passing null.
Joan Torres [Wed, 13 Mar 2024 10:17:24 +0000 (11:17 +0100)]
loginDialog: Fix conflicting session notification
The internal notification API changed between the time the
code was originally written and the time the change was
merged. Belatedly adapt to those changes.